With the advancement of the science and technology, conventional mobile phones are being replaced gradually by intelligent mobile phones that provide better graphical user interfaces (GUIs) and diversified applications. To satisfy the demands for various users, manufacturers of intelligent mobile phones have released various intelligent mobile phones of different hardware specifications, especially of different touch screen sizes. In addition, GUIs and applications have also been widely used in various terminal devices such as intelligent mobile phones, tablet computers, intelligent television (TV) sets or the like.
To ensure that the GUIs (especially GUIs for specific applications in the operating systems) designed for terminal devices operate normally on the terminal devices of different hardware specifications (e.g., of different touch screen sizes) available in the market, the software providers must test operations of the applications on terminal devices of different hardware specifications. However, most of the current GUI testings are carried out manually, which is both labor- and time-consuming.
Although automatic testing techniques (e.g., the coordinate-based technique, the image-based technique, the object-based technique and the external hardware operation) have been proposed in the art, these techniques still have issues in some practical applications. For example, operation commands of the coordinate-based technique are easy to be composed, but when there is a change in the touch screen size or the resolution, the operation commands must be re-composed, as the result that specific operation command sets must be created for each types of terminal devices. Operation commands of the image-based technique can support comparison of images to improve the design flexibility, but the images recognition consumes a lot of resources. The object-based technique is capable of cross-platform testing, but which requires compiling of original objects and transformation of original program codes and also requires a specific authority in the operating system. Furthermore, the object-based technique cannot be used on different applications. Replacing the manual operations by external hardware operations will not cause a burden on the testing system, but represents a relatively high cost and requires rewriting the operation script files for different types of terminal devices respectively. Moreover, none of the current automatic testing techniques supports the physical button testing.
Accordingly, there is an urgent need existed in the art to provide a testing mechanism that generates a testing script through operations of terminal devices, so that the operations of manually making complex settings, composing the script files, compiling the original objects and transforming the original program codes can be obviated, and the cross-platform testing and support of the physical button testing can be achieved.